fix: use find_spec for pip plugins#2084
Merged
abderrahim merged 1 commit intoapache:masterfrom Dec 14, 2025
Merged
Conversation
Contributor
Author
|
@gtristan Any chance this could be merged? |
Contributor
|
Can you please rebase it? |
Contributor
Author
|
Rebased it cleanly, without any merge commits. Also wanted to ask a question related to plugins: it's hard-coded that plugins search for a .yaml file for the default configuration. Should .yml files be considered valid as well? |
Contributor
Author
|
Accidentally closed this while messing with git rebases, reopening. |
5323c39 to
fb3186d
Compare
For pip plugins installed in editable mode, via `pip install -e ...`, buildstream failed to resolve the actual location of source files of a plugin. This is caused because `importlib.metadata` does not honor editable packages with `pth` files. This patch updates `pluginoriginpip.py` to use `find_spec` to find files. This works for editable packages.
abderrahim
approved these changes
Dec 14, 2025
Contributor
abderrahim
left a comment
There was a problem hiding this comment.
I moved the importlib import together with the others (inside the function). I don't know whether that's still needed or if it was just something specific to pkg_resources, but it's better to do that in a separate commit/PR.
Let's merge this.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
For pip plugins installed in editable mode, via
pip install -e ..., buildstream failed to resolve the actual location of source files of a plugin.locate_fileresolved location tosite-packages/<module-name>/elements/<element.py>, whilesite-packagescontained only thepthfile pointing to the another directory.This patch updates
pluginoriginpip.pyto usefind_specto find files. It works properly with editable packages andpthfiles.